/**
 * 
 */
package net.toocruel.iqismart.service.core;

import net.toocruel.iqismart.dao.condition.TagCondition;
import net.toocruel.iqismart.dao.condition.TopicsCondition;
import net.toocruel.iqismart.entity.common.Tag;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Set;

/**
 * 角色服务
 * 
 * @author toocruel
 *
 */
public interface TagService {

    Page<Tag> query(TagCondition condition, Pageable pageable);
    Set<Tag> query(TagCondition condition);

    Set<Tag> findAndCreateIfNotExist(Long categoryId, String tagNames);

    List<Tag> findAll();

    List<Tag> getHotTags(int count);

    Page<Tag> findAll(TopicsCondition condition, PageRequest pageRequest);
}
